/////////////////////////////////////////////////////////////////////////////
// Name:        tts_mp3settingsdialog.h
// Purpose:     
// Author:      Julian Smart
// Modified by: 
// Created:     20/02/2009 15:42:53
// RCS-ID:      
// Copyright:   (c) Anthemion Software Limited
// Licence:     New BSD License
/////////////////////////////////////////////////////////////////////////////

#ifndef _TTS_MP3SETTINGSDIALOG_H_
#define _TTS_MP3SETTINGSDIALOG_H_

/*
 * Includes
 */

////@begin includes
////@end includes

#include "tts/tts_mp3settingspanel.h"

/*
 * Forward declarations
 */

////@begin forward declarations
class wxTTSMP3SettingsPanel;
////@end forward declarations

/*
 * Control identifiers
 */

////@begin control identifiers
#define SYMBOL_WXTTSMP3SETTINGSDIALOG_STYLE wxCAPTION|wxRESIZE_BORDER|wxSYSTEM_MENU|wxCLOSE_BOX|wxTAB_TRAVERSAL
#define SYMBOL_WXTTSMP3SETTINGSDIALOG_TITLE _("MP3 Settings")
#define SYMBOL_WXTTSMP3SETTINGSDIALOG_IDNAME wxID_ANY
#define SYMBOL_WXTTSMP3SETTINGSDIALOG_SIZE wxSize(400, 300)
#define SYMBOL_WXTTSMP3SETTINGSDIALOG_POSITION wxDefaultPosition
////@end control identifiers

/**
    @class wxTTSMP3SettingsDialog
    
    @category{tts}
 */

class wxTTSMP3SettingsDialog: public wxDialog
{    
    DECLARE_DYNAMIC_CLASS( wxTTSMP3SettingsDialog )
    DECLARE_EVENT_TABLE()

public:
    /// Constructors
    wxTTSMP3SettingsDialog();
    wxTTSMP3SettingsDialog( const wxMP3EncoderInfo& info, wxWindow* parent, wxWindowID id = SYMBOL_WXTTSMP3SETTINGSDIALOG_IDNAME, const wxString& caption = SYMBOL_WXTTSMP3SETTINGSDIALOG_TITLE, const wxPoint& pos = SYMBOL_WXTTSMP3SETTINGSDIALOG_POSITION, const wxSize& size = SYMBOL_WXTTSMP3SETTINGSDIALOG_SIZE, long style = SYMBOL_WXTTSMP3SETTINGSDIALOG_STYLE );

    /// Creation
    bool Create( const wxMP3EncoderInfo& info, wxWindow* parent, wxWindowID id = SYMBOL_WXTTSMP3SETTINGSDIALOG_IDNAME, const wxString& caption = SYMBOL_WXTTSMP3SETTINGSDIALOG_TITLE, const wxPoint& pos = SYMBOL_WXTTSMP3SETTINGSDIALOG_POSITION, const wxSize& size = SYMBOL_WXTTSMP3SETTINGSDIALOG_SIZE, long style = SYMBOL_WXTTSMP3SETTINGSDIALOG_STYLE );

    /// Destructor
    ~wxTTSMP3SettingsDialog();

    /// Initialises member variables
    void Init();

    /// Creates the controls and sizers
    void CreateControls();

    /// Set info
    void SetInfo(const wxMP3EncoderInfo& info) { m_mp3SettingsPanel->SetInfo(info); }

    /// Get info
    const wxMP3EncoderInfo& GetInfo() const { return m_mp3SettingsPanel->GetInfo(); }

////@begin wxTTSMP3SettingsDialog event handler declarations

////@end wxTTSMP3SettingsDialog event handler declarations

////@begin wxTTSMP3SettingsDialog member function declarations

    /// Retrieves bitmap resources
    wxBitmap GetBitmapResource( const wxString& name );

    /// Retrieves icon resources
    wxIcon GetIconResource( const wxString& name );
////@end wxTTSMP3SettingsDialog member function declarations

    /// Should we show tooltips?
    static bool ShowToolTips();

////@begin wxTTSMP3SettingsDialog member variables
    wxStaticText* m_lameIntroCtrl;
    wxTTSMP3SettingsPanel* m_mp3SettingsPanel;
////@end wxTTSMP3SettingsDialog member variables
};

#endif
    // _TTS_MP3SETTINGSDIALOG_H_
